import numpy as np
import scipy.io
import os

# 检查几个数据文件的统计信息
data_folder = 'dy'
file_prefix = 'spatial_correlation_'
file_extension = '.mat'

values = []
for i in range(1, 21):  # 检查前20个文件
    file_path = os.path.join(data_folder, f'{file_prefix}{i}{file_extension}')
    if os.path.exists(file_path):
        mat_data = scipy.io.loadmat(file_path)
        if 'p' in mat_data:
            Y = mat_data['p']
            if Y.size == 64:
                values.append(Y.flatten())

if values:
    all_values = np.concatenate(values)
    print(f'数据统计信息:')
    print(f'  均值: {np.mean(all_values):.6f}')
    print(f'  标准差: {np.std(all_values):.6f}')
    print(f'  最小值: {np.min(all_values):.6f}')
    print(f'  最大值: {np.max(all_values):.6f}')
    print(f'  数据范围: {np.max(all_values) - np.min(all_values):.6f}')
    print(f'  是否包含复数: {np.iscomplexobj(all_values)}')
    
    # 分析实部和虚部
    if np.iscomplexobj(all_values):
        real_part = np.real(all_values)
        imag_part = np.imag(all_values)
        print(f'\n实部统计:')
        print(f'  均值: {np.mean(real_part):.6f}')
        print(f'  标准差: {np.std(real_part):.6f}')
        print(f'  范围: [{np.min(real_part):.6f}, {np.max(real_part):.6f}]')
        print(f'\n虚部统计:')
        print(f'  均值: {np.mean(imag_part):.6f}')
        print(f'  标准差: {np.std(imag_part):.6f}')
        print(f'  范围: [{np.min(imag_part):.6f}, {np.max(imag_part):.6f}]')
else:
    print('未找到有效数据文件') 